// Package domain
// @Author zhongxc
// @Date 2024/1/17 11:27:00
// @Desc
package domain

import (
	"context"
	"errors"
	"github.com/zeromicro/go-zero/core/logx"
	"zhongxc.cc/admin-common/model"
	"zhongxc.cc/admin-common/msdb"
	menuDao "zhongxc.cc/admin-user/internal/dao"
	"zhongxc.cc/admin-user/internal/repo"
)

type MenuDomain struct {
	menuRepo repo.MenuRepo
}

func NewMenuDomain(db *msdb.MsDB) *MenuDomain {
	return &MenuDomain{
		menuRepo: menuDao.NewMenuDao(db),
	}
}

func (m *MenuDomain) List(ctx context.Context, page int, rows int, keyword string) (*model.PageResult, error) {

	pageResult, err := m.menuRepo.List(ctx, page, rows, keyword)
	if err != nil {
		logx.Error(err)
		return nil, errors.New("数据库异常")
	}
	return pageResult, nil
}
